বাস্তব জীবনে কম্পিউটার প্রোগ্রাম কার্যকর করা যথেষ্ট সময় ও শ্রমসাপেক্ষ ব্যাপার। এর পুরো প্রক্রিয়াটি কার্যকর করার একটি গুরুত্বপুর্ণ মডেল হচ্ছে ওয়াটারফল বা জলপ্রপাত মডেল। এখানে পুরো প্রজেক্টটিকে কয়েকটি সুনির্দিষ্ট এবং ধারাবাহিক অংশে ভাগ করে নেয়া হয়। এর একটি অংশ শেষ হলেই মাত্র অন্য অংশটি শুরু করা যায়। পুরো প্রোগ্রামিং প্রক্রিয়াটি যেহেতু জলপ্রপাতের মতো একদিকে প্রবাহিত হয় সেজন্য এটিকে ওয়াটারফল বা জলপ্রপাত মডেল বলা হয়।
এই মডেল অনুযায়ী প্রোগ্রামিংয়ের ধারাবাহিক অংশগুলো হচ্ছে প্রয়োজনের বিশ্লেষণ, ডিজাইন, কোডিং, নিরীক্ষণ, কার্যক্ষেত্রে প্রতিস্থাপন এবং রক্ষণাবেক্ষণ। এই মডেলে প্রয়োজনের বিশ্লেষণে 20-40% এবং ডিজাইন ও কোডিংয়ে 30-40% সময় ব্যয় করা হয়। বাকি সময়টুকুতে নিরীক্ষণ এবং কার্যকর করার কাজে শেষ করতে হয়। এভাবে সময়ের বণ্টন যথেষ্ট যৌক্তিক, কারণ দেখা গিয়েছে প্রোগ্রামিংয়ের শুরুর দিকে একটি সমস্যার সমাধান যত সহজ, শেষের দিকে ঠিক ততটাই কঠিন। এই মডেলে ঠিকভাবে প্রোগ্রামিংয়ের তথ্য সংরক্ষণের উপর অনেক গুরুত্ব দেওয়া হয় সে কারণে একজন বা একটি টিম প্রোগ্রামিংয়ের মাঝখানে চলে গেলেও প্রোগ্রামটি সহজভাবে শেষ করা সম্ভব হয়।